<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>身份证号、银行卡号生成器 （供测试用）</title>
  
  <style>
	body {
		background: #FFF;
	}

	button{
		clear:both;
		display:block;
		margin:20px auto;
		outline:none;
		border-radius:30px;
		border:1px solid #eee;
		background:#FFF;
		padding:10px 40px;
		color:#555;
	}

	.des {
		font-size: 12px;
		color: #aaa;
		width:600px;
		margin:auto;
	}

	td{
		border:0;
		border-top:1px dashed #eee;
		border-left: 1px dashed #eee;
		padding:3px 25px;
		color:#555;
		font-size:12px;
		
	}
	 
	td:last-child{ 
		 border-right: 1px dashed #eee;
		}
	table{
		margin-top:20px;
		width:600px;
		margin:auto;
	}
  </style>
  
  <script>
	function getIdNo() {
		var coefficientArray = ["7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"]; // 加权因子
		var lastNumberArray = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"]; // 校验码
		var address = "420101"; // 住址
		var birthday = "19810101"; // 生日
		var s = Math.floor(Math.random() * 10).toString() + Math.floor(Math.random() * 10).toString() + Math.floor(Math.random() * 10).toString();
		var array = (address + birthday + s).split("");
		var total = 0;
		for (var i = 0; i < array.length; i++) {
			total = total + parseInt(array[i]) * parseInt(coefficientArray[i]);
		}
		var lastNumber = lastNumberArray[parseInt(total % 11)];
		var id_no_String = address + birthday + s + lastNumber;

		return id_no_String;
	}

	// 生成随机姓名
	function getName() {
		var familyNames = new Array("赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许", "何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳", "酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常", "乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余", "元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹");
		var givenNames = new Array("子璇", "淼", "国栋", "夫子", "瑞堂", "甜", "敏", "尚", "国贤", "贺祥", "晨涛", "昊轩", "易轩", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齐", "杨", "文昊", "东东", "雄霖", "浩晨", "熙涵", "溶溶", "冰枫", "欣欣", "宜豪", "欣慧", "建政", "美欣", "淑慧", "文轩", "文杰", "欣源", "忠林", "榕润", "欣汝", "慧嘉", "新建", "建林", "亦菲", "林", "冰洁", "佳欣", "涵涵", "禹辰", "淳美", "泽惠", "伟洋", "涵越", "润丽", "翔", "淑华", "晶莹", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅", "子辰", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡", "佳怡", "佳惠", "晨茜", "晨璐", "运昊", "汝鑫", "淑君", "晶滢", "润莎", "榕汕", "佳钰", "佳玉", "晓庆", "一鸣", "语晨", "添池", "添昊", "雨泽", "雅晗", "雅涵", "清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌");

		var i = parseInt(10 * Math.random()) * 10 + parseInt(10 * Math.random());
		var familyName = familyNames[i];

		var j = parseInt(10 * Math.random()) * 10 + parseInt(10 * Math.random());
		var givenName = givenNames[i];

		var name = familyName + givenName;
		return name;
	}

	//生成随机银行卡号
	function getBankAccount() {
		// var bank_no = document.getElementById("bank_no_select").value; 
		var bank_no = '0102';
		var prefix = "";
		switch (bank_no) {
		case "0102":
			prefix = "622202";
			break;
		case "0103":
			prefix = "622848";
			break;
		case "0105":
			prefix = "622700";
			break;
		case "0301":
			prefix = "622262";
			break;
		case "104":
			prefix = "621661";
			break;
		case "0303":
			prefix = "622666";
			break;
		case "305":
			prefix = "622622";
			break;
		case "0306":
			prefix = "622556";
			break;
		case "0308":
			prefix = "622588";
			break;
		case "0410":
			prefix = "622155";
			break;
		case "302":
			prefix = "622689";
			break;
		case "304":
			prefix = "622630";
			break;
		case "309":
			prefix = "622908";
			break;
		case "310":
			prefix = "621717";
			break;
		case "315":
			prefix = "622323";
			break;
		case "316":
			prefix = "622309";
			break;
		default:
		}

		for (var j = 0; j < 13; j++) {
			prefix = prefix + Math.floor(Math.random() * 10);
		}

		// var x = document.getElementsByName("bank_no");
		// for (var i = 0; i < x.length; i++) {
		//     var o = x[i];
		//     o.value = bank_no;
		// }
		// var y = document.getElementsByName("bank_account");
		// for (var i = 0; i < y.length; i++) {
		//     var o = y[i];
		//     o.value = prefix;
		// }
		return prefix;
	}

	function genrate() {
		trs = '';
		for (var i = 1; i <= 20; i++) {
			trs = trs + '<tr><td>' + i + '</td><td>' + getName() + '</td><td> 身份证：' + getIdNo() + ' <br/>银行卡：' + getBankAccount() + '</td></tr>';
		}
		trs = '<table>' + trs + '</table>';
		document.getElementById("list").innerHTML = trs;
	}
	
	window.onload = function(){
		genrate();
	}
  </script>
  
 </head>
 <body>
	<div class="des"> 
		<h1>身份证号、银行卡号生成器 （供测试用）</h1>
		<button onclick='location.reload() '>换一批</button>
	</div>
	<div id="list">
	</div>

	<div class="des">
		免责声明：身份证号大全和姓名由系统随机组合而成，不会涉及任何隐私泄密问题，也非现实生活中真实的身份证号码和真实姓名；身份证号码所属年龄均为18岁以上，均已通过校验；身份证号码和姓名仅供测试或用在必须输入身份证号码和姓名的网站上，请不要将身份证号码和姓名用于任何非法用途，且自行承担使用本工具的任何后果和责任。 
		<button onclick='location.reload() '>换一批</button>
	</div>
 </body>
</html>
